const express = require('express');
const cors = require('cors');
const app = express();
const port = 8088;  // 改为8081端口

// 使用CORS中间件，允许所有跨域请求
app.use(cors());

// 解析JSON请求体
app.use(express.json());

// 十位古代皇帝数据
const emperors = [
    {
        id: 1,
        name: '汉高祖',
        dynasty: '西汉',
        reignYears: '前202-前195年',
        achievements: '推翻秦朝，击败项羽，建立汉朝，休养生息恢复民生'
    },
    {
        id: 2,
        name: '隋文帝',
        dynasty: '隋朝',
        reignYears: '581-604年',
        achievements: '统一南北朝，创立科举制，开皇之治奠定盛世基础'
    },
    {
        id: 3,
        name: '宋太宗',
        dynasty: '北宋',
        reignYears: '976-997年',
        achievements: '完成统一，加强中央集权，编纂《太平御览》等典籍'
    },
    {
        id: 4,
        name: '元世祖',
        dynasty: '元朝',
        reignYears: '1260-1294年',
        achievements: '建立元朝，统一中国，推行行省制度，促进中外交流'
    },
    {
        id: 5,
        name: '明成祖',
        dynasty: '明朝',
        reignYears: '1402-1424年',
        achievements: '迁都北京，编纂《永乐大典》，派郑和七下西洋'
    },
    {
        id: 6,
        name: '顺治帝',
        dynasty: '清朝',
        reignYears: '1643-1661年',
        achievements: '清军入关，统一全国，推行满汉融合政策'
    },
    {
        id: 7,
        name: '汉文帝',
        dynasty: '西汉',
        reignYears: '前180-前157年',
        achievements: '文景之治开创者，轻徭薄赋，与民休息'
    },
    {
        id: 8,
        name: '魏武帝',
        dynasty: '三国（魏）',
        reignYears: '实际掌权208-220年',
        achievements: '统一北方，实行屯田制，推动建安文学发展'
    },
    {
        id: 9,
        name: '唐高宗',
        dynasty: '唐朝',
        reignYears: '649-683年',
        achievements: '拓展唐朝疆域至最大，灭高句丽、百济等国'
    },
    {
        id: 10,
        name: '光绪帝',
        dynasty: '清朝',
        reignYears: '1875-1908年',
        achievements: '支持戊戌变法，尝试近代化改革，推动新式教育'
    }
];

// 提供 /emperors 接口 - 获取所有皇帝
app.get('/emperors', (req, res) => {
    console.log('接收到获取皇帝列表请求');
    res.json(emperors);
});

// 提供 /emperors/:id 接口 - 根据ID获取特定皇帝
app.get('/emperors/:id', (req, res) => {
    const id = parseInt(req.params.id);
    const emperor = emperors.find(emp => emp.id === id);

    if (emperor) {
        res.json(emperor);
    } else {
        res.status(404).json({ error: '未找到该皇帝' });
    }
});

// 健康检查接口
app.get('/health', (req, res) => {
    res.json({
        status: 'ok',
        message: '服务器运行正常',
        timestamp: new Date().toISOString()
    });
});

// 启动服务器
app.listen(port, '0.0.0.0', () => {
    console.log('=================================');
    console.log('🚀 皇帝数据服务器已启动!');
    console.log(`📍 本地访问: http://localhost:${port}`);
    console.log(`🌐 网络访问: http://192.168.3.3:${port}`);
    console.log('=================================');
    console.log('可用接口:');
    console.log(`  GET /emperors     - 获取所有皇帝数据`);
    console.log(`  GET /emperors/:id - 根据ID获取特定皇帝`);
    console.log(`  GET /health       - 健康检查`);
    console.log('=================================');
});